/********* huanxin.m Cordova Plugin Implementation *******/

#import <Cordova/CDV.h>

@interface huanxin : CDVPlugin {
  // Member variables go here.
}
//测试用例
- (void)coolMethod:(CDVInvokedUrlCommand*)command;
//登录
- (void)loginMethod:(CDVInvokedUrlCommand*)command;
//  SDK连接服务器的状态变化时会接收到该回调
- (void)connectionStateDidChangeMethod:(CDVInvokedUrlCommand*)command;
//退出
- (void)logoutMethod:(CDVInvokedUrlCommand*)command;
//当前登录账号在其它设备登录时会接收到该回调
- (void)userAccountDidLoginFromOtherDeviceMethod:(CDVInvokedUrlCommand*)command;
//当前登录账号已经被从服务器端删除时会收到该回调
- (void)userAccountDidRemoveFromServerMethod:(CDVInvokedUrlCommand*)command;
//发起实时通话
- (void)startCallMethod:(CDVInvokedUrlCommand*)command;
//被叫方同意实时通话
- (void)answerIncomingCallMethod:(CDVInvokedUrlCommand*)command;
//结束实时通话
- (void)endCallMethod:(CDVInvokedUrlCommand*)command;

/*!
 *  用户A拨打用户B，用户B会收到这个回调
 *
 *  @param aSession  会话实例
 */
- (void)callDidReceiveMethod:(CDVInvokedUrlCommand*)command;
/*!
 *  通话通道建立完成，用户A和用户B都会收到这个回调
 *
 *  @param aSession  会话实例
 */
- (void)callDidConnectMethod:(CDVInvokedUrlCommand*)command;

/*!
 *  用户B同意用户A拨打的通话后，用户A会收到这个回调
 *
 *  @param aSession  会话实例
 */
- (void)callDidAcceptMethod:(CDVInvokedUrlCommand*)command;
/*!
 *  1. 用户A或用户B结束通话后，对方会收到该回调
 *  2. 通话出现错误，双方都会收到该回调
 *
 *  @param aSession  会话实例
 *  @param aReason   结束原因
 *  @param aError    错误
 */
- (void)callDidEndMethod:(CDVInvokedUrlCommand*)command;
/*!
 *
 *  1. 视频开始，双方都会调用该回调
 *
 *  @param aSession  会话实例
 *  @param aReason   结束原因
 *  @param aError    错误
 */
- (void)callDidStartMethod:(CDVInvokedUrlCommand*)command;

@end


